package com.jsle.financial.manager;

import com.jsle.financial.domain.Company;
import com.jsle.financial.domain.Company_Resources;
import com.jsle.financial.vo.Result;

/**
 * Manager 用于事物控制
 * @author zhangyanqing
 * @date 2012-10-27
 */
public interface CompanyManager {
	/**
	 * 新增一用户
	 * @param user
	 * @return
	 */
	public Result addCompany(Company company);
	/**
	 * 删除一用户
	 * @param user
	 * @return
	 */
	public Result delCompany(Company company);
	/**
	 * 更新一用户信息
	 * @param user
	 * @return
	 */
	public Result updateCompany(Company company);
	/**
	 * 公司配置资源
	 * @param cr
	 * @return
	 */
	public Result addCompanyAndResources(Company_Resources cr);
	/**
	 * 根据公司code删除人员信息
	 * @param company
	 * @return
	 */
	public Result delUsersByCompany(Company company);
	/**
	 * 根据公司code删除用户组信息
	 * @param company
	 * @return
	 */
	public Result delUserGroupsByCompany(Company company);
	/**
	 * 根据公司code删除公司关联资源信息
	 * @param company
	 * @return
	 */
	public Result delCompanyResourcesByCompany(Company company);
	/**
	 * 根据公司code删除人员-用户组关联信息
	 * @param company
	 * @return
	 */
	public Result delUserUserGroupsByCompany(Company company);
}
